home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr49 / pgp23src.zip / R3000.S < prev    next >
Text File  |  1993-05-09  |  10KB  |  736 lines

  1.     .file    1 "r3000.c"
  2.     .set    nobopt
  3.  
  4.  # GNU C 2.3.1 [AL 1.1, MM 28] DECstation running ultrix compiled by GNU C
  5.  
  6.  # Cc1 defaults:
  7.  
  8.  # Cc1 arguments (-G value = 8, Cpu = default, ISA = 1):
  9.  # -mgpopt -quiet -dumpbase -O -o
  10.  
  11. gcc2_compiled.:
  12.     .text
  13.     .align    2
  14.     .globl    p_addc
  15.     .align    2
  16.     .globl    p_subb
  17.     .align    2
  18.     .globl    p_rotl
  19.     .align    2
  20.     .globl    p_setp
  21.     .align    2
  22.     .globl    p_smula
  23.     .align    2
  24.     .globl    p_setrecip
  25.     .align    2
  26.     .globl    p_quo_digit
  27.  
  28.     .lcomm    mshift,8
  29.  
  30.     .lcomm    reciph,8
  31.  
  32.     .lcomm    recipl,8
  33.  
  34.     .extern    global_precision, 2
  35.  
  36.     .text
  37.  
  38.     .loc    1 99
  39.     .ent    p_addc
  40. p_addc:
  41.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  42.     .mask    0x00000000,0
  43.     .fmask    0x00000000,0
  44.     lhu    $9,global_precision
  45.     li    $2,-1            # 0xffffffff
  46.     andi    $8,$9,0x0003
  47.     subu    $8,$8,1
  48.     .set    noreorder
  49.     .set    nomacro
  50.     beq    $8,$2,$L3
  51.     andi    $6,$6,0x00ff
  52.     .set    macro
  53.     .set    reorder
  54.  
  55.     li    $10,-1            # 0xffffffff
  56. $L6:
  57.     beq    $6,$0,$L4
  58.     lw    $3,0($4)
  59.     lw    $2,0($5)
  60.     #nop
  61.     addu    $7,$3,$2
  62.     addu    $7,$7,1
  63.     nor    $3,$0,$3
  64.     sltu    $2,$2,$3
  65.     .set    noreorder
  66.     .set    nomacro
  67.     j    $L5
  68.     xori    $6,$2,0x0001
  69.     .set    macro
  70.     .set    reorder
  71.  
  72. $L4:
  73.     lw    $3,0($4)
  74.     lw    $2,0($5)
  75.     #nop
  76.     addu    $7,$3,$2
  77.     sltu    $6,$7,$3
  78. $L5:
  79.     addu    $5,$5,4
  80.     sw    $7,0($4)
  81.     subu    $8,$8,1
  82.     .set    noreorder
  83.     .set    nomacro
  84.     bne    $8,$10,$L6
  85.     addu    $4,$4,4
  86.     .set    macro
  87.     .set    reorder
  88.  
  89. $L3:
  90.     sll    $2,$9,16
  91.     sra    $8,$2,18
  92.     subu    $8,$8,1
  93.     li    $2,-1            # 0xffffffff
  94.     beq    $8,$2,$L8
  95.     li    $9,-1            # 0xffffffff
  96. $L17:
  97.     beq    $6,$0,$L9
  98.     lw    $3,0($4)
  99.     lw    $2,0($5)
  100.     #nop
  101.     addu    $7,$3,$2
  102.     addu    $7,$7,1
  103.     nor    $3,$0,$3
  104.     sltu    $2,$2,$3
  105.     .set    noreorder
  106.     .set    nomacro
  107.     j    $L10
  108.     xori    $6,$2,0x0001
  109.     .set    macro
  110.     .set    reorder
  111.  
  112. $L9:
  113.     lw    $3,0($4)
  114.     lw    $2,0($5)
  115.     #nop
  116.     addu    $7,$3,$2
  117.     sltu    $6,$7,$3
  118. $L10:
  119.     .set    noreorder
  120.     .set    nomacro
  121.     beq    $6,$0,$L11
  122.     sw    $7,0($4)
  123.     .set    macro
  124.     .set    reorder
  125.  
  126.     lw    $3,4($4)
  127.     lw    $2,4($5)
  128.     #nop
  129.     addu    $7,$3,$2
  130.     addu    $7,$7,1
  131.     nor    $3,$0,$3
  132.     sltu    $2,$2,$3
  133.     .set    noreorder
  134.     .set    nomacro
  135.     j    $L12
  136.     xori    $6,$2,0x0001
  137.     .set    macro
  138.     .set    reorder
  139.  
  140. $L11:
  141.     lw    $3,4($4)
  142.     lw    $2,4($5)
  143.     #nop
  144.     addu    $7,$3,$2
  145.     sltu    $6,$7,$3
  146. $L12:
  147.     .set    noreorder
  148.     .set    nomacro
  149.     beq    $6,$0,$L13
  150.     sw    $7,4($4)
  151.     .set    macro
  152.     .set    reorder
  153.  
  154.     lw    $3,8($4)
  155.     lw    $2,8($5)
  156.     #nop
  157.     addu    $7,$3,$2
  158.     addu    $7,$7,1
  159.     nor    $3,$0,$3
  160.     sltu    $2,$2,$3
  161.     .set    noreorder
  162.     .set    nomacro
  163.     j    $L14
  164.     xori    $6,$2,0x0001
  165.     .set    macro
  166.     .set    reorder
  167.  
  168. $L13:
  169.     lw    $3,8($4)
  170.     lw    $2,8($5)
  171.     #nop
  172.     addu    $7,$3,$2
  173.     sltu    $6,$7,$3
  174. $L14:
  175.     .set    noreorder
  176.     .set    nomacro
  177.     beq    $6,$0,$L15
  178.     sw    $7,8($4)
  179.     .set    macro
  180.     .set    reorder
  181.  
  182.     lw    $3,12($4)
  183.     lw    $2,12($5)
  184.     #nop
  185.     addu    $7,$3,$2
  186.     addu    $7,$7,1
  187.     nor    $3,$0,$3
  188.     sltu    $2,$2,$3
  189.     .set    noreorder
  190.     .set    nomacro
  191.     j    $L16
  192.     xori    $6,$2,0x0001
  193.     .set    macro
  194.     .set    reorder
  195.  
  196. $L15:
  197.     lw    $3,12($4)
  198.     lw    $2,12($5)
  199.     #nop
  200.     addu    $7,$3,$2
  201.     sltu    $6,$7,$3
  202. $L16:
  203.     sw    $7,12($4)
  204.     addu    $4,$4,16
  205.     subu    $8,$8,1
  206.     .set    noreorder
  207.     .set    nomacro
  208.     bne    $8,$9,$L17
  209.     addu    $5,$5,16
  210.     .set    macro
  211.     .set    reorder
  212.  
  213. $L8:
  214.     .set    noreorder
  215.     .set    nomacro
  216.     j    $31
  217.     andi    $2,$6,0x00ff
  218.     .set    macro
  219.     .set    reorder
  220.  
  221.     .end    p_addc
  222.  
  223.     .loc    1 153
  224.     .ent    p_subb
  225. p_subb:
  226.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  227.     .mask    0x00000000,0
  228.     .fmask    0x00000000,0
  229.     move    $8,$4
  230.     lhu    $10,global_precision
  231.     li    $2,-1            # 0xffffffff
  232.     andi    $9,$10,0x0003
  233.     subu    $9,$9,1
  234.     .set    noreorder
  235.     .set    nomacro
  236.     beq    $9,$2,$L20
  237.     andi    $6,$6,0x00ff
  238.     .set    macro
  239.     .set    reorder
  240.  
  241.     li    $11,-1            # 0xffffffff
  242. $L23:
  243.     beq    $6,$0,$L21
  244.     lw    $4,0($8)
  245.     lw    $3,0($5)
  246.     #nop
  247.     subu    $2,$4,$3
  248.     subu    $7,$2,$6
  249.     sltu    $3,$3,$4
  250.     .set    noreorder
  251.     .set    nomacro
  252.     j    $L22
  253.     xori    $6,$3,0x0001
  254.     .set    macro
  255.     .set    reorder
  256.  
  257. $L21:
  258.     lw    $3,0($8)
  259.     lw    $2,0($5)
  260.     #nop
  261.     subu    $7,$3,$2
  262.     sltu    $6,$3,$2
  263. $L22:
  264.     addu    $5,$5,4
  265.     sw    $7,0($8)
  266.     subu    $9,$9,1
  267.     .set    noreorder
  268.     .set    nomacro
  269.     bne    $9,$11,$L23
  270.     addu    $8,$8,4
  271.     .set    macro
  272.     .set    reorder
  273.  
  274. $L20:
  275.     sll    $2,$10,16
  276.     sra    $9,$2,18
  277.     subu    $9,$9,1
  278.     li    $2,-1            # 0xffffffff
  279.     beq    $9,$2,$L25
  280.     li    $10,-1            # 0xffffffff
  281. $L34:
  282.     beq    $6,$0,$L26
  283.     lw    $4,0($8)
  284.     lw    $3,0($5)
  285.     #nop
  286.     subu    $2,$4,$3
  287.     subu    $7,$2,$6
  288.     sltu    $3,$3,$4
  289.     .set    noreorder
  290.     .set    nomacro
  291.     j    $L27
  292.     xori    $6,$3,0x0001
  293.     .set    macro
  294.     .set    reorder
  295.  
  296. $L26:
  297.     lw    $3,0($8)
  298.     lw    $2,0($5)
  299.     #nop
  300.     subu    $7,$3,$2
  301.     sltu    $6,$3,$2
  302. $L27:
  303.     .set    noreorder
  304.     .set    nomacro
  305.     beq    $6,$0,$L28
  306.     sw    $7,0($8)
  307.     .set    macro
  308.     .set    reorder
  309.  
  310.     lw    $4,4($8)
  311.     lw    $3,4($5)
  312.     #nop
  313.     subu    $2,$4,$3
  314.     subu    $7,$2,$6
  315.     sltu    $3,$3,$4
  316.     .set    noreorder
  317.     .set    nomacro
  318.     j    $L29
  319.     xori    $6,$3,0x0001
  320.     .set    macro
  321.     .set    reorder
  322.  
  323. $L28:
  324.     lw    $3,4($8)
  325.     lw    $2,4($5)
  326.     #nop
  327.     subu    $7,$3,$2
  328.     sltu    $6,$3,$2
  329. $L29:
  330.     .set    noreorder
  331.     .set    nomacro
  332.     beq    $6,$0,$L30
  333.     sw    $7,4($8)
  334.     .set    macro
  335.     .set    reorder
  336.  
  337.     lw    $4,8($8)
  338.     lw    $3,8($5)
  339.     #nop
  340.     subu    $2,$4,$3
  341.     subu    $7,$2,$6
  342.     sltu    $3,$3,$4
  343.     .set    noreorder
  344.     .set    nomacro
  345.     j    $L31
  346.     xori    $6,$3,0x0001
  347.     .set    macro
  348.     .set    reorder
  349.  
  350. $L30:
  351.     lw    $3,8($8)
  352.     lw    $2,8($5)
  353.     #nop
  354.     subu    $7,$3,$2
  355.     sltu    $6,$3,$2
  356. $L31:
  357.     .set    noreorder
  358.     .set    nomacro
  359.     beq    $6,$0,$L32
  360.     sw    $7,8($8)
  361.     .set    macro
  362.     .set    reorder
  363.  
  364.     lw    $4,12($8)
  365.     lw    $3,12($5)
  366.     #nop
  367.     subu    $2,$4,$3
  368.     subu    $7,$2,$6
  369.     sltu    $3,$3,$4
  370.     .set    noreorder
  371.     .set    nomacro
  372.     j    $L33
  373.     xori    $6,$3,0x0001
  374.     .set    macro
  375.     .set    reorder
  376.  
  377. $L32:
  378.     lw    $3,12($8)
  379.     lw    $2,12($5)
  380.     #nop
  381.     subu    $7,$3,$2
  382.     sltu    $6,$3,$2
  383. $L33:
  384.     sw    $7,12($8)
  385.     addu    $8,$8,16
  386.     subu    $9,$9,1
  387.     .set    noreorder
  388.     .set    nomacro
  389.     bne    $9,$10,$L34
  390.     addu    $5,$5,16
  391.     .set    macro
  392.     .set    reorder
  393.  
  394. $L25:
  395.     .set    noreorder
  396.     .set    nomacro
  397.     j    $31
  398.     andi    $2,$6,0x00ff
  399.     .set    macro
  400.     .set    reorder
  401.  
  402.     .end    p_subb
  403.  
  404.     .loc    1 211
  405.     .ent    p_rotl
  406. p_rotl:
  407.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  408.     .mask    0x00000000,0
  409.     .fmask    0x00000000,0
  410.     move    $6,$4
  411.     lh    $4,global_precision
  412.     li    $2,-1            # 0xffffffff
  413.     andi    $7,$4,0x0003
  414.     subu    $7,$7,1
  415.     .set    noreorder
  416.     .set    nomacro
  417.     beq    $7,$2,$L37
  418.     andi    $5,$5,0x00ff
  419.     .set    macro
  420.     .set    reorder
  421.  
  422.     li    $8,-1            # 0xffffffff
  423. $L38:
  424.     lw    $3,0($6)
  425.     subu    $7,$7,1
  426.     sll    $2,$3,1
  427.     or    $2,$2,$5
  428.     sw    $2,0($6)
  429.     srl    $5,$3,31
  430.     .set    noreorder
  431.     .set    nomacro
  432.     bne    $7,$8,$L38
  433.     addu    $6,$6,4
  434.     .set    macro
  435.     .set    reorder
  436.  
  437. $L37:
  438.     sra    $7,$4,2
  439.     subu    $7,$7,1
  440.     li    $2,-1            # 0xffffffff
  441.     beq    $7,$2,$L40
  442.     li    $8,-1            # 0xffffffff
  443. $L41:
  444.     lw    $2,0($6)
  445.     #nop
  446.     srl    $3,$2,31
  447.     sll    $2,$2,1
  448.     or    $2,$2,$5
  449.     sw    $2,0($6)
  450.     lw    $2,4($6)
  451.     #nop
  452.     srl    $4,$2,31
  453.     sll    $2,$2,1
  454.     or    $2,$2,$3
  455.     sw    $2,4($6)
  456.     lw    $2,8($6)
  457.     #nop
  458.     srl    $3,$2,31
  459.     sll    $2,$2,1
  460.     or    $2,$2,$4
  461.     sw    $2,8($6)
  462.     lw    $2,12($6)
  463.     subu    $7,$7,1
  464.     srl    $5,$2,31
  465.     sll    $2,$2,1
  466.     or    $2,$2,$3
  467.     sw    $2,12($6)
  468.     .set    noreorder
  469.     .set    nomacro
  470.     bne    $7,$8,$L41
  471.     addu    $6,$6,16
  472.     .set    macro
  473.     .set    reorder
  474.  
  475. $L40:
  476.     .set    noreorder
  477.     .set    nomacro
  478.     j    $31
  479.     andi    $2,$5,0x00ff
  480.     .set    macro
  481.     .set    reorder
  482.  
  483.     .end    p_rotl
  484.  
  485.     .loc    1 244
  486.     .ent    p_setp
  487. p_setp:
  488.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  489.     .mask    0x00000000,0
  490.     .fmask    0x00000000,0
  491.     j    $31
  492.     .end    p_setp
  493.  
  494.     .loc    1 268
  495.     .ent    p_smula
  496. p_smula:
  497.     .frame    $sp,8,$31        # vars= 8, regs= 0/0, args = 0, extra= 0
  498.     .mask    0x00000000,0
  499.     .fmask    0x00000000,0
  500.     subu    $sp,$sp,8
  501.     lh    $2,global_precision
  502.     move    $11,$4
  503.     move    $10,$5
  504.     .set    noreorder
  505.     .set    nomacro
  506.     blez    $2,$L43
  507.     move    $13,$2
  508.     .set    macro
  509.     .set    reorder
  510.  
  511.     lw    $14,0($10)
  512.  #APP
  513.     multu    $6, $14
  514.     mflo    $9
  515.     mfhi    $12
  516.  #NO_APP
  517.     addu    $10,$10,4
  518.     move    $7,$0
  519.     .set    noreorder
  520.     .set    nomacro
  521.     j    $L48
  522.     move    $8,$0
  523.     .set    macro
  524.     .set    reorder
  525.  
  526. $L47:
  527.     lw    $14,0($10)
  528.  #APP
  529.     multu    $6, $14
  530.     mflo    $4
  531.     mfhi    $5
  532.  #NO_APP
  533.     lw    $2,0($11)
  534.     addu    $10,$10,4
  535.     addu    $8,$8,$12
  536.     addu    $7,$7,$2
  537.     sltu    $3,$7,$2
  538.     addu    $7,$7,$9
  539.     sltu    $2,$7,$9
  540.     addu    $3,$3,$2
  541.     sltu    $2,$8,$12
  542.     addu    $8,$8,$3
  543.     sltu    $3,$8,$3
  544.     sw    $7,0($11)
  545.     addu    $11,$11,4
  546.     move    $7,$8
  547.     addu    $8,$2,$3
  548.     move    $9,$4
  549.     move    $12,$5
  550. $L48:
  551.     subu    $2,$13,1
  552.     move    $13,$2
  553.     sll    $2,$2,16
  554.     bne    $2,$0,$L47
  555.     lw    $2,0($11)
  556.     #nop
  557.     addu    $7,$7,$2
  558.     sltu    $3,$7,$2
  559.     addu    $7,$7,$9
  560.     sltu    $2,$7,$9
  561.     addu    $3,$3,$2
  562.     sw    $7,0($11)
  563.     addu    $11,$11,4
  564.     lw    $2,0($11)
  565.     addu    $8,$8,$12
  566.     addu    $8,$8,$3
  567.     addu    $2,$8,$2
  568.     sw    $2,0($11)
  569. $L43:
  570.     addu    $sp,$sp,8
  571.     j    $31
  572.     .end    p_smula
  573.  
  574.     .loc    1 334
  575.     .ent    p_setrecip
  576. p_setrecip:
  577.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  578.     .mask    0x00000000,0
  579.     .fmask    0x00000000,0
  580.     sw    $4,reciph
  581.     sw    $5,recipl
  582.     sw    $6,mshift
  583.     j    $31
  584.     .end    p_setrecip
  585.  
  586.     .loc    1 342
  587.     .ent    p_quo_digit
  588. p_quo_digit:
  589.     .frame    $sp,0,$31        # vars= 0, regs= 0/0, args = 0, extra= 0
  590.     .mask    0x00000000,0
  591.     .fmask    0x00000000,0
  592.     move    $9,$4
  593.     lw    $2,-8($9)
  594.     lw    $10,reciph
  595.     lw    $5,-4($9)
  596.     nor    $2,$0,$2
  597.  #APP
  598.     multu    $2, $10
  599.     mflo    $6
  600.     mfhi    $7
  601.  #NO_APP
  602.     nor    $5,$0,$5
  603.     lw    $10,recipl
  604.  #APP
  605.     multu    $5, $10
  606.     mflo    $4
  607.     mfhi    $3
  608.  #NO_APP
  609.     addu    $3,$3,1
  610.     lw    $2,reciph
  611.     srl    $4,$4,1
  612.     lw    $10,reciph
  613.     addu    $6,$6,$2
  614.     sltu    $2,$6,$2
  615.     addu    $7,$7,$2
  616.     srl    $6,$6,1
  617.     sll    $2,$7,31
  618.     addu    $6,$6,$2
  619.     srl    $7,$7,1
  620.     sll    $2,$3,31
  621.     addu    $4,$4,$2
  622.     srl    $3,$3,1
  623.     addu    $2,$6,$4
  624.     addu    $3,$7,$3
  625.     sltu    $4,$2,$6
  626.     addu    $4,$4,$3
  627.     addu    $2,$2,1
  628.     sltu    $2,$2,1
  629.     addu    $4,$4,$2
  630.  #APP
  631.     multu    $5, $10
  632.     mflo    $3
  633.     mfhi    $7
  634.  #NO_APP
  635.     srl    $3,$3,1
  636.     addu    $4,$4,1
  637.     lw    $2,0($9)
  638.     sltu    $5,$4,1
  639.     lw    $10,recipl
  640.     nor    $2,$0,$2
  641.  #APP
  642.     multu    $2, $10
  643.     mflo    $6
  644.     mfhi    $8
  645.  #NO_APP
  646.     sll    $2,$7,31
  647.     addu    $3,$3,$2
  648.     srl    $7,$7,1
  649.     srl    $6,$6,1
  650.     sll    $2,$8,31
  651.     addu    $6,$6,$2
  652.     addu    $4,$4,$3
  653.     sltu    $2,$4,$3
  654.     .set    noreorder
  655.     .set    nomacro
  656.     beq    $2,$0,$L51
  657.     srl    $8,$8,1
  658.     .set    macro
  659.     .set    reorder
  660.  
  661.     addu    $5,$5,1
  662. $L51:
  663.     addu    $4,$4,$6
  664.     sltu    $2,$4,$6
  665.     .set    noreorder
  666.     .set    nomacro
  667.     beq    $2,$0,$L53
  668.     addu    $5,$5,$7
  669.     .set    macro
  670.     .set    reorder
  671.  
  672.     addu    $5,$5,1
  673. $L53:
  674.     addu    $5,$5,$8
  675.     lw    $2,0($9)
  676.     srl    $4,$4,30
  677.     lw    $10,reciph
  678.     nor    $2,$0,$2
  679.  #APP
  680.     multu    $2, $10
  681.     mflo    $6
  682.     mfhi    $7
  683.  #NO_APP
  684.     sll    $7,$7,1
  685.     srl    $2,$6,31
  686.     addu    $7,$7,$2
  687.     sll    $6,$6,1
  688.     sll    $2,$5,2
  689.     addu    $4,$4,$2
  690.     addu    $4,$4,$6
  691.     sltu    $2,$4,$6
  692.     .set    noreorder
  693.     .set    nomacro
  694.     beq    $2,$0,$L55
  695.     srl    $5,$5,30
  696.     .set    macro
  697.     .set    reorder
  698.  
  699.     addu    $5,$5,1
  700. $L55:
  701.     lw    $3,mshift
  702.     li    $2,0x00000020        # 32
  703.     .set    noreorder
  704.     .set    nomacro
  705.     beq    $3,$2,$L57
  706.     addu    $5,$5,$7
  707.     .set    macro
  708.     .set    reorder
  709.  
  710.     srl    $4,$4,$3
  711.     subu    $2,$2,$3
  712.     sll    $2,$5,$2
  713.     addu    $4,$4,$2
  714.     .set    noreorder
  715.     .set    nomacro
  716.     j    $L58
  717.     srl    $5,$5,$3
  718.     .set    macro
  719.     .set    reorder
  720.  
  721. $L57:
  722.     move    $4,$5
  723.     move    $5,$0
  724. $L58:
  725.     .set    noreorder
  726.     .set    nomacro
  727.     bne    $5,$0,$L59
  728.     li    $2,-1            # 0xffffffff
  729.     .set    macro
  730.     .set    reorder
  731.  
  732.     move    $2,$4
  733. $L59:
  734.     j    $31
  735.     .end    p_quo_digit
  736.